home *** CD-ROM | disk | FTP | other *** search
- * ------------[ BLED merge (c) Ken Goosens ]-------------
- * Merge this against I:\161A.REL\RBBSSUB3.BAS to produce RBBSSUB3.BAS
- * I:\161A.REL\RBBSSUB3.BAS: Date 3-25-1988 Size 173696 bytes
- * ------------[ Created 06-20-1988 22:26:51 ]------------
- * REPLACING old line(s) by new
- * ------[ first line different ]------
- 58902 FILE.NAME$ = DIRECTORY.PATH$ + DIRECTORY.PREFIX$ + _ ' TF042001
- "." + DIRECTORY.EXTENTION$ ' TF042001
- GDEFAULT$ = MID$(" GC",GR + 1, 1) ' TF042001
- CALL GRAPHIC (GDEFAULT$) ' TF042001
- CALL BUFFILE (FILE.NAME$) ' TF042001
- GOTO 58900
- END SUB
- '
- ' $SUBTITLE: 'CONVDIRS -- Converts coded response to right directory'
- ' $PAGE
- '
- ' SUBROUTINE NAME -- CONVDIRS
- '
- ' INPUT PARAMETERS -- PARAMETER MEANING
- ' STRT ELEMENT TO BEGIN WITH
- ' B$ ARRAY TO CONVERT
- ' Q LAST ELEMENT TO CONFERT
- '
- ' OUTPUT PARAMETERS -- B$ CONVERTED DIRECTORY LIST
- '
- ' SUBROUTINE PURPOSE -- LET THE USER PUT IN A SHORT STANDARD STRING FOR A
- ' DIRECTORY
- '
- '
- * REPLACING old line(s) by new
- 59530 Z$ = B$(ANS.INDEX)
- CALL ALLCAPS (Z$)
- IF INSTR(RETURN.ON$,Z$) THEN _ 'check whether calling pgm wants
- EXIT SUB
- IF INSTR("LH?",Z$) THEN _ 'check whether caller wants help
- GOTO 59515
- IF INSTR(Z$,".") > 0 THEN _
- GOTO 59545
- FILE.NAME$ = FRONT.OPT$ + _
- Z$
- CALL BADFILE (FILE.NAME$,A)
- IF A > 1 THEN _
- GOTO 59547
- FILE.NAME$ = FILE.NAME$ + _
- BACK.OPT$
- * ------[ first line different ]------
- CALL GRAPHIC (GR.DEFAULT$) ' TF041202
- IF OK THEN _
- IF NOT REQUIRE.IN.MENU THEN _
- EXIT SUB _
- ELSE CALL WORDINFILE (CURRENT.MENU$,Z$,FOUND) : _
- IF FOUND THEN _
- EXIT SUB _
- ELSE GOTO 59540
- IF NOT VERIFY.IN.MENU THEN _
- GOTO 59540
- CALL WORDINFILE (CURRENT.MENU$,Z$,FOUND) 'verify against menu itself
- IF FOUND THEN _
- IF ALL.MENU.OK THEN _
- EXIT SUB
- * REPLACING old line(s) by new
- 59790 SUB FINDFILE (FILNAME$,FEXISTS) STATIC
- CALL RBBSFIND (FILNAME$,Z,Y,M,D)
- FEXISTS = (Z = 0)
- END SUB
- ' $SUBTITLE: 'ASKMORE -- subroutine to pause when possible screen full'
- ' $PAGE
- '
- ' SUBROUTINE NAME -- ASKMORE
- '
- ' INPUT PARAMETERS -- PARAMETER MEANING
- ' EXTRA.PRMPT$ STRING TO ADD TO MORE PROMPT AT END
- '
- ' OUTPUT PARAMETERS -- B$()
- ' NO
- '
- ' SUBROUTINE PURPOSE -- DETERMINES WHETHER NEED TO PAUSE IF SCREEN FULL.
- ' AND, IF SO, ASKS THE APPROPRIATE QUESTION. IF NON-
- ' STOP, AT LEAST CHECK FOR CARRIER PRESENT.
- '
- SUB ASKMORE (EXTRA.PRMPT$) STATIC
- IF LINES.PRINTED < PAGE.LENGTH THEN _
- Q = 0 : _
- EXIT SUB
- IF NON.STOP THEN _
- LINES.PRINTED = 0 : _
- CALL CARRIER : _
- EXIT SUB
- CALL CHKTREMAIN (TIME.REMAINING!)
- CALL FINDTIME (AUTO.LOGOFF!)
- AUTO.LOGOFF! = AUTO.LOGOFF! + WAIT.BEFORE.DISCONNECT
- IF EXPERT.USER THEN _
- A$ = "More [Y],N,NS" + _
- EXTRA.PRMPT$ _
- ELSE A$ = "MORE: [Y]es, N)o, NS)non-stop" + _
- EXTRA.PRMPT$
- NO.ADVANCE = TRUE
- SUBROUTINE.PARAMETER = 1
- CALL TGET
- CALL WIPELINE (33 + LEN(EXTRA.PRMPT$))
- END SUB
- ' $SUBTITLE: 'COMPDATE -- subroutine to compute elased days'
- ' $PAGE
- '
- ' SUBROUTINE NAME -- COMPDATE
- '
- ' INPUT PARAMETERS -- PARAMETER MEANING
- ' YY YEAR
- ' MM MONTH
- ' DD DAY
- ' RESULT! LOCATION TO PLACE THE RESULT
- '
- ' OUTPUT PARAMETERS -- RESULT! COMPUTE COMPUTATIONAL DATE
- '
- ' SUBROUTINE PURPOSE -- COMPUTES A COMPUTATIONAL DATE FROM YEAR, MONTH, DAY.
- ' RESULTS MAY BE USED TO COMPUTE THE NUMBER OF ELASPED
- ' DAYS BETWEEN TWO DATES. YOU MAY PASS A 2 OR 4 DIGIT
- ' YEAR, BUT FOR MEANINGFUL RESULTS, BE CONSISTENT
- '
- SUB COMPDATE (YY,MM,DD,RESULT!) STATIC
- * ------[ first line different ]------
- IF MM < 1 OR _ ' TF042301
- MM > 12 THEN _ ' TF042301
- MM = 1 ' TF042301
- RESULT! = YY * 365.0 + _
- INT((YY - 1) / 4) + _
- (MM - 1) * 28 + _
- VAL(MID$("000303060811131619212426",(MM - 1) * 2 + 1,2)) - _
- ((MM > 2) AND ((YY MOD 4) = 0)) + _
- DD
- END SUB
- ' $SUBTITLE: 'EXPDATE -- subroutine to display expiration date'
- ' $PAGE
- '
- ' SUBROUTINE NAME -- EXPDATE
- '
- ' INPUT PARAMETERS -- PARAMETER MEANING
- ' REGISTRATION.DATE! COMPUTATIONAL REGISTRATION DATE
- ' REGISTRATION.PERIOD DAYS IN REGISTRATION PERIOD
- '
- ' OUTPUT PARAMETERS -- EXP.DATE$ DISPLAYABLE EXPIRATION DATE
- '
- ' SUBROUTINE PURPOSE -- COMPUTES/CREATES A DISPALYABLE REGISTRATION
- ' EXPIRATION DATE USING REGISTRATION DATE AND DAYS IN
- ' REGISTRATION PERIOD.
- '
- SUB EXPDATE (REGISTRATION.DATE!,REGISTRATION.PERIOD,EXP.DATE$) STATIC
- EXPIRE.DATE! = REGISTRATION.DATE! + REGISTRATION.PERIOD
- EXPIRE.YEAR! = INT((EXPIRE.DATE! - EXPIRE.DATE! / 1461) / 365)
- EXPIRE.DAY% = EXPIRE.DATE! - (EXPIRE.YEAR! * 365 + INT((EXPIRE.YEAR! -1)/4))
- EXPIRE.MONTH% = -((EXPIRE.YEAR! MOD 4)<>0) * _
- (1 - (EXPIRE.DAY% > 31) - (EXPIRE.DAY% > 59) - _
- (EXPIRE.DAY% > 90) - (EXPIRE.DAY% >120) - _
- (EXPIRE.DAY% > 151) - (EXPIRE.DAY% > 181) - _
- (EXPIRE.DAY% > 212) - (EXPIRE.DAY% > 243) - _
- (EXPIRE.DAY% > 273) - (EXPIRE.DAY% > 304) - _
- (EXPIRE.DAY% > 334)) - ((EXPIRE.YEAR! MOD 4) = 0) * _
- (1 - (EXPIRE.DAY% > 31) - (EXPIRE.DAY% > 60) - _
- (EXPIRE.DAY% > 91) - (EXPIRE.DAY% >121) - _
- (EXPIRE.DAY% > 152) - (EXPIRE.DAY% > 182) - _
- (EXPIRE.DAY% > 213) - (EXPIRE.DAY% > 243) - _
- (EXPIRE.DAY% > 274) - (EXPIRE.DAY% > 305) - _
- (EXPIRE.DAY% > 335))
- EXPIRE.DAY% = (EXPIRE.DAY% - ((EXPIRE.MONTH% - 1) * 28 + _
- VAL(MID$("000303060811131619212426",(EXPIRE.MONTH% -1) * 2 + 1,2)))) + _ ' TF042403
- ((EXPIRE.MONTH% > 2) AND _
- ((EXPIRE.YEAR! MOD 4) = 0))
- EXP.DATE$ = RIGHT$("0" + MID$(STR$(EXPIRE.MONTH%),2),2) + _
- "/" + _
- RIGHT$("0" + MID$(STR$(EXPIRE.DAY%),2),2) + _
- "/" + _
- RIGHT$(STR$(EXPIRE.YEAR!),2)
- END SUB
- ' $SUBTITLE: 'PUTMATTR - subroutine to save msg. attributes'
- ' $PAGE
- '
- ' SUBROUTINE NAME -- PUTMATTR
- '
- ' INPUT PARAMETERS -- PARAMETER MEANING
- ' Q
- ' B$
- ' LINES.IN.MESSAGE
- ' S
- ' NON.STOP
- ' MESSAGE.DIM.INDEX
- '
- ' OUTPUT PARAMETERS -- SQ
- ' LG$(10)
- ' LINES.IN.MESSAGE.SAVE
- ' SL
- ' NON.STOP.SAVE
- ' MESSAGE.DIM.INDEX.SAVE
- '
- ' SUBROUTINE PURPOSE -- WHEN REPLYING TO A MESSAGE THIS ROUTINE SAVES
- ' THE ATTRIBUTES OF THE ORGINAL MESSAGE
- '
- * REPLACING old line(s) by new
- 64113 IF LEFT$(A$(SCRIPT.INDEX),1) = "?" THEN _ ' QUESTION
- A$ = MID$(A$(SCRIPT.INDEX),2) : _
- SUBROUTINE.PARAMETER = 1 : _
- CALL TGET : _
- IF SUBROUTINE.PARAMETER = -1 THEN _
- GOTO 64510 _
- ELSE IF Q = 0 THEN _
- GOTO 64113 _
- ELSE A$(SCRIPT.INDEX + 1) = "!" + _
- B$ : _
- GOTO 64110
- IF LEFT$(A$(SCRIPT.INDEX),2) = "=#" THEN _ ' NUMERIC
- GOSUB 64350 : _
- GOTO 64110
- IF LEFT$(A$(SCRIPT.INDEX),1) = "=" THEN _ ' DECISION
- GOSUB 64300 : _
- IF SUBROUTINE.PARAMETER = -1 THEN _
- GOTO 64510 _
- ELSE GOTO 64110
- IF LEFT$(A$(SCRIPT.INDEX),1) = "-" THEN _ ' LOWER
- ADJUSTED.SECURITY = -1 : _
- USER.SECURITY.LEVEL = USER.SECURITY.LEVEL - _
- VAL(MID$(A$(SCRIPT.INDEX),2,5)) : _
- GOTO 64110
- IF LEFT$(A$(SCRIPT.INDEX),1) = "+" THEN _ ' RAISE
- IF USER.SECURITY.LEVEL + VAL(MID$(A$(SCRIPT.INDEX),2,5)) _
- <= MAXIMUM.SECURITY.LEVEL THEN _
- ADJUSTED.SECURITY = -1 : _
- USER.SECURITY.LEVEL = USER.SECURITY.LEVEL + _
- VAL(MID$(A$(SCRIPT.INDEX),2,5))
- IF LEFT$(A$(SCRIPT.INDEX),1) = "+" THEN _
- GOTO 64110
- * ------[ first line different ]------
- A$ = "Invalid line. Column 1 is <" + LEFT$(A$(SCRIPT.INDEX),1)+">. Must be: * ? = + - > @" ' TF062001
- SUBROUTINE.PARAMETER = 5
- CALL TPUT
- IF SUBROUTINE.PARAMETER = -1 THEN _
- GOTO 64510
-